import './assets/main.scss'; // 暂时注释掉这一行
import './permission';

import { createApp } from 'vue';

import App from './App.vue';
import Plugin from './components';
import i18n, { currentLocaleRef } from './i18n'; // 导入i18n实例
import router from './router'; // 导入路由
import pinia from './stores'; // 导入 pinia 实例

const app = createApp(App);

// 添加全局混入，让所有组件能响应语言变化
app.mixin({
  computed: {
    // 这个计算属性会在语言变化时自动更新
    $currentLocale() {
      return currentLocaleRef.value;
    }
  },
  watch: {
    // 监听语言变化，强制更新组件
    $currentLocale: {
      handler() {
        this.$forceUpdate();
      },
      immediate: false
    }
  }
});

// 使用插件
app.use(Plugin).use(pinia).use(router).use(i18n);

// 挂载应用
app.mount('#app');
